Exploiting Purely Functional Programming to Obtain Bounded Resource Behaviour: The Hume Approach

نویسنده

  • Kevin Hammond
چکیده

This chapter describes Hume: a functionally-based language for programming with bounded resource usage, including time and space properties. The purpose of the Hume language design is to explore the expressibility/costability spectrum in resource-constrained systems, such as real-time embedded or control systems. It is unusual in being based on a combination of λ-calculus and finite state machine notions, rather than the more usual propositional logic, or flat finite-state-machine models. The use of a strict, purely functional programming notation allows the construction of a strong cost model for expressions, which can then be embedded into a simple cost model for processes. In this chapter, we introduce Hume, describe the Hume Abstract Machine implementation, and show how a high-level cost model can be constructed that relates costs from the abstract machine to Hume source programs. We illustrate our approach with an example adapted from the literature: a simple vending machine controller.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

MultiCore Parallelisation for Hume

With the emergence of commodity multicore architectures, exploiting tightly-coupled parallelism has become increasingly important. Hume is a novel formally-motivated programming language oriented to developing software where strong assurance of resource use is paramount, in particular embedded architecture. Functional programming languages, such as Hume, are, in principle, well placed to take a...

متن کامل

Bounded Space Programming using Finite State Machines and Recursive Functions: the Hume Approach

Software engineering involves matching abstract software requirements to concrete implementations. Programming at a high-level of abstraction improves confidence in the correctness of functional requirements and reduces the cost of constructing software, but loses confidence in the correctness of behavioural requirements. This is especially serious for resource-constrained systems, such as real...

متن کامل

Verifying Temporal Properties in HW-Hume

H is a modern formally-defined programming language targeted at safety-critical, resource-bounded systems. A key feature of H is the clear separation between computation and coordination, achieved through a finite-state-automata based approach, where a purely functional computation layer is embedded into a reactive coordination layer that manages interactions between processes and with th...

متن کامل

Compiling Hume down to gates

We describe the implementation of a subset of the Hume programming language on a FPGA architecture at the gate level. Hume is a domain specific language for developping multi-process systems requiring strong static guarantees that resource bounds are met. The compiler produces RT-level, synthetizable VHDL code that can be processed by a standard tool chain to program FPGAs at the gate level. Pr...

متن کامل

ROBUST RESOURCE-CONSTRAINED PROJECT SCHEDULING WITH UNCERTAIN-BUT-BOUNDED ACTIVITY DURATIONS AND CASH FLOWS I. A NEW SAMPLING-BASED HYBRID PRIMARY-SECONDARY CRITERIA APPROACH

This paper, we presents a new primary-secondary-criteria scheduling model for resource-constrained project scheduling problem (RCPSP) with uncertain activity durations (UD) and cash flows (UC). The RCPSP-UD-UC approach producing a “robust” resource-feasible schedule immunized against uncertainties in the activity durations and which is on the sampling-based scenarios may be evaluated from a cos...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005